(function(global) { var data = [imgsPath + "ico_processing.gif", 16, 16] , rpos = [15, 15] , queue = [] , indicator = new Element("div", { id: "mouseTrail", style: "position:absolute;top:0;left:0;z-index:9999;visibility:hidden;" }) , img = new Element("img", { src: data[0], width: data[1], height: data[2], alt: "spinner" }) ; indicator.adopt(img); document.body.adopt(indicator); global.loading = { start: function(id) { queue.push(id); indicator.setStyle("visibility", ""); }, stop: function(id) { queue.remove(id); if( queue.length <= 0 ) indicator.setStyle("visibility", "hidden"); } }; document.addEvent("mousemove", function(ev) { ev = new Event(ev); var x = rpos[0] + ev.page.x; var y = rpos[1] + ev.page.y; if(x + data[1] > bW() + rX() - rpos[0] - data[1]) x = bW() + rX() - rpos[0] - data[1]; if(y + data[2] > bH() + rY() - rpos[1] - data[2]) y = bH() + rY() - rpos[1] - data[2]; sX(indicator,x); sY(indicator,y); }); }(this));